package chapter03.s03encapsulation;

// 如何封装
// 1. 将类中的属性私有化 private
// 2. 通过setter和getter方法设置和获取属性值， setAge 方法中增加判断逻辑
class Student2 {
    private String name;                        // 声明姓名属性
    private int age;                            // 声明年龄属性

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        if (age <= 0) {
            System.out.println("您输入的年龄有误！");
        } else {
            this.age = age;
        }
    }

    public void read() {
        System.out.println("大家好，我是" + name + "，年龄" + age);
    }
}

public class Example04 {
    public static void main(String[] args) {
        Student2 stu = new Student2();        // 创建学生对象
        stu.setName("张三");                    // 为对象的name属性赋值
        stu.setAge(-18);                    // 为对象的age属性赋值
        stu.read();                                // 调用对象的方法
    }
}
